package com.zygh.lz.service;


import com.zygh.lz.entity.Information;
import com.zygh.lz.entity.bean.Pushsource;
import com.zygh.lz.vo.ResultBean;
import com.zygh.lz.vo.ResultBeans;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;


public interface InformationService {

    /**
     * 查询所有记录
     *
     * @return 返回集合，没有返回空List
     */
    List<Information> listAll();

    ResultBeans findInformationByType(String acceptWarningSignal, String isRead);


    /**
     * 根据主键查询
     *
     * @param id 主键
     * @return 返回记录，没有返回null
     */
    Information getById(Integer id);

    /**
     * 新增，插入所有字段
     *
     * @param information 新增的记录
     * @return 返回影响行数
     */
    int insert(Information information);

    /**
     * 新增，忽略null字段
     *
     * @param information 新增的记录
     * @return 返回影响行数
     */
    int insertIgnoreNull(Information information);

    /**
     * 修改，修改所有字段
     *
     * @param information 修改的记录
     * @return 返回影响行数
     */
    int update(Information information);

    /**
     * 修改，忽略null字段
     *
     * @param information 修改的记录
     * @return 返回影响行数
     */
    ResultBeans updateIgnoreNull(Information information);

    /**
     * 删除记录
     *
     * @param information 待删除的记录
     * @return 返回影响行数
     */
    int delete(Information information);


    ResultBean findPushHistory(Pushsource pushsource);


    String exportMessage(HttpServletResponse response, Pushsource pushsource) throws IOException;

}
